# 深拷贝与浅拷贝的差别
# 深拷贝：copy.deepcopy()  嵌套拷贝   可变数据类型：引用拷贝 不可变数据类型：创建新的内存空间
# 浅拷贝：copy.copy()      顶层拷贝   可变数据类型：引用拷贝 不可变数据类型：创建新的内存空间

a = [1]
b = [1]
print(id(a), id(b))

# 浅浅拷贝


a = [1, 2]
b = [a]*3
print(b)
b[1][1] = 0
print(b)


import copy

a = [1, 2, 3, 4, ['a', 'b']]  # 原始对象

b = a  # 赋值，传对象的引用
c = copy.copy(a)  # 对象拷贝，浅拷贝
d = copy.deepcopy(a)  # 对象拷贝，深拷贝

a.append(5)  # 修改对象a
a[4].append('c')  # 修改对象a中的['a', 'b']数组对象


print('a = ', a)
print('b = ', b)
print('c = ', c)
print('d = ', d)






